
import { defineConfig, loadEnv } from 'vite';
import { resolve } from 'path';
import presets from './presets/presets';

// @ts-ignore
export default defineConfig((env) => {
  // env 环境变量
  const viteEnv = loadEnv(env.mode, process.cwd());
  const key = process.env.MODULE_NAME!.trim(); // 获取环境变量
  console.log("获取环境变量", process.env.MODULE_NAME);
  return {
    base: viteEnv.VITE_BASE,
    define: {
      'process.env.NODE_ENV': '"production"' // 或者根据实际环境变量设置
    },
    // 插件
    plugins: [presets(env)],
    // 别名设置
    resolve: {
      alias: {
        '@': resolve(__dirname, './src'), // 把 @ 指向到 src 目录去
      },
    },
    build: {
      outDir: `Modules/${key}`, // 指定输出目录
      lib: {
        entry: resolve(__dirname, `./src/modules/${key}/index.ts`), // 指向你的插件入口文件
        name: key, // 你的库的全局变量名，用于在UMD构建中
        fileName: (format) => `${key}.${format}.js` // 打包后的文件名
      },
      rollupOptions: {
        external: ['vue', 'vue-router', 'pinia'],
        output: {
          globals: {
            vue: 'Vue'
          }
        }
      }
    },
  };
});
